home *** CD-ROM | disk | FTP | other *** search
- class BOSSDestroy extends EnemyAction {
- private int fxTime = 0;
- private int fxDest = 0;
- private int nDest = 0;
-
- public BOSSDestroy(StgFrame var1) {
- super(var1);
- Enemy var2 = var1.getEnemy();
- var2.checkHitBom();
- }
-
- public boolean action(EnemyIndex var1) {
- super.resource.getEnemySpeed();
- Enemy var2 = super.resource.getEnemy();
- int var3 = -65536;
- byte var4 = 0;
- ((StgObjectIndex)var1).movePosition(var3, var4, 0);
- if (this.fxTime >= this.fxDest << 1 && this.nDest < 64) {
- this.putDest(var1);
- this.fxDest += 65536;
- ++this.nDest;
- }
-
- if (this.fxTime >= 4194304) {
- super.resource.getGameProcess().setAttr(3);
- ((StgObject)var2).delete(var1);
- return true;
- } else {
- this.fxTime += 65536;
- return true;
- }
- }
-
- private boolean putDest(EnemyIndex var1) {
- Enemy var2 = super.resource.getEnemy();
- Position var3 = ((StgObjectIndex)var1).getPosition();
- ((StgObjectIndex)var1).getPosition();
- Position var6 = new Position(var3.getX() + -4194304 + (Fixed.Random() << 7), var3.getY() + -4194304 + (Fixed.Random() << 7), 0);
- int var7 = Fixed.Mul(Fixed.Random(), 196608) >>> 16;
- SpriteAnimeData var5;
- switch (var7) {
- case 0:
- var5 = StgData.getSpriteAnimeDestroyA();
- break;
- case 1:
- var5 = StgData.getSpriteAnimeDestroyA();
- break;
- case 2:
- var5 = StgData.getSpriteAnimeDestroyB();
- break;
- default:
- var5 = StgData.getSpriteAnimeDestroyB();
- }
-
- EnemyIndex var4 = new EnemyIndex(var6, var5, new Position(262144, 262144, 0), 0, new EnemyDestroy(super.resource), 0, 65536, 100, 0);
- return ((StgObject)var2).add(var4);
- }
-
- public boolean checkHitPlayerShip(EnemyIndex var1, PlayerShipIndex var2) {
- return false;
- }
-
- public boolean checkHitPlayerShot(EnemyIndex var1, PlayerShotIndex var2) {
- boolean var3 = false;
- return var3;
- }
-
- public boolean checkHitBom(EnemyIndex var1) {
- return true;
- }
- }
-